printer status

chengzhenyu 8 gadi atpakaļ
vecāks
revīzija
0cd6682f35

+ 7 - 0
app/src/main/java/ai/pai/lensman/db/Preferences.java

@@ -64,6 +64,13 @@ public class Preferences {
64 64
         return mPrefs.getString("mac",NullStr);
65 65
     }
66 66
 
67
+    public boolean isPrinterConnected(){
68
+        return mPrefs.getBoolean("isPrinterConnected",false);
69
+    }
70
+
71
+    public void setPrinterConnected(boolean isPrinterConnect){
72
+        mPrefs.edit().putBoolean("isPrinterConnected",isPrinterConnect).commit();
73
+    }
67 74
     public String getCurrentSession(){
68 75
         return mPrefs.getString("currentSession", NullStr);
69 76
     }

+ 5 - 1
app/src/main/java/ai/pai/lensman/printer/BluetoothDeviceListAdapter.java

@@ -80,7 +80,11 @@ public class BluetoothDeviceListAdapter extends BaseAdapter {
80 80
         holder.deviceName.setText(device.getName());
81 81
         holder.deviceMac.setText(device.getAddress());
82 82
         if(device.getAddress().equals(Preferences.getInstance().getPrinterMac())){
83
-            holder.deviceStatus.setText(R.string.click_to_connect);
83
+            if(Preferences.getInstance().isPrinterConnected()){
84
+                holder.deviceStatus.setText(R.string.bt_connected);
85
+            }else{
86
+                holder.deviceStatus.setText(R.string.click_to_connect);
87
+            }
84 88
         }else{
85 89
             holder.deviceStatus.setText("");
86 90
         }

+ 3 - 0
app/src/main/java/ai/pai/lensman/printer/PrinterService.java

@@ -23,6 +23,7 @@ import org.apache.commons.lang.ArrayUtils;
23 23
 import java.util.Vector;
24 24
 
25 25
 import ai.pai.lensman.R;
26
+import ai.pai.lensman.db.Preferences;
26 27
 
27 28
 
28 29
 public class PrinterService extends Service {
@@ -90,7 +91,9 @@ public class PrinterService extends Service {
90 91
             int status = mGpService.queryPrinterStatus(0, 10000);
91 92
             if (status == GpCom.STATE_NO_ERR) {
92 93
                 str = "打印机正常";
94
+                Preferences.getInstance().setPrinterConnected(true);
93 95
             } else {
96
+                Preferences.getInstance().setPrinterConnected(false);
94 97
                 str = "打印机 ";
95 98
                 if ((byte) (status & GpCom.STATE_OFFLINE) > 0) {
96 99
                     str += "脱机";

+ 1 - 0
app/src/main/java/ai/pai/lensman/printer/PrinterSettingActivity.java

@@ -106,6 +106,7 @@ public class PrinterSettingActivity extends BaseActivity implements PrinterSetti
106 106
     @Override
107 107
     public void onPrinterStatusFetched(String msg) {
108 108
         printerStatusText.setText(msg);
109
+        deviceAdapter.notifyDataSetChanged();
109 110
     }
110 111
 
111 112
 

+ 2 - 1
app/src/main/java/ai/pai/lensman/printer/PrinterSettingPresenter.java

@@ -85,7 +85,6 @@ public class PrinterSettingPresenter implements PrinterSettingContract.Presenter
85 85
             view.showToast(context.getString(R.string.printer_status_query_fail));
86 86
             return;
87 87
         }
88
-        view.onPrinterStatusFetched(context.getString(R.string.query_printer_processing));
89 88
         view.onPrinterStatusFetched(printerService.queryPrinterStatus());
90 89
     }
91 90
 
@@ -149,8 +148,10 @@ public class PrinterSettingPresenter implements PrinterSettingContract.Presenter
149 148
         int code = printerService.connectPrinter(device);
150 149
         if(code==0){
151 150
             Preferences.getInstance().setPrinterMac(device.getAddress());
151
+            Preferences.getInstance().setPrinterConnected(true);
152 152
         }else{
153 153
             view.showToast(context.getString(R.string.printer_port_open_fail));
154
+            Preferences.getInstance().setPrinterConnected(false);
154 155
         }
155 156
 
156 157
     }